#pragma once

#include <iostream>

enum class TokenType
{
    Identifier,
    Integer,
    Decimal,
    String,
    ParenthesesOpen,
    ParenthesesClose,
    BracesOpen,
    BracesClose,
    ChevronsOpen,
    ChevronsClose,
    Plus,
    Minus,
    Divide,
    Eof,
    LexerError
};

struct Token
{
    TokenType type;
    char* textStart;
    char* textEnd;
    int line;
    int row;

    void printOut()
    {
        std::cout << (int)type << ", " << line << ", " << row << "\n";
    }
};
